Interview-Style Challenges
It's time for you to get some practice solving technical interview challenges!
Before you get started, though, I want to share some important need-to-know information. Please read through this lesson before starting the challenges. It might help reduce some potential frustration.
About the challenges
At a high-level, these interview challenges are similar to the exercises from throughout this course. You're given a problem to solve, and a playground to work in. Under the playground is a video where I work through the problem.
My attempts here are much less polished. This may not be obvious, but for the exercises in the course, I practice my solution several times before filming the solution video, to produce a streamlined video that doesn't have a bunch of mistakes / wrong turns.
For these challenges, I'm filming my initial attempt. You'll discover that I'm nowhere near as good at this stuff as you might've thought 😅. They're mostly unedited, aside from things like trimming out periods of silence.
I wanted to do it this way so that you could see how I would actually tackle these problems if I was given them in an interview setting. I think that'll be much more useful for you than more polished solution videos.
I suggest watching the videos even if you can solve the problem. They're packed full of little interview tips.
Sorted by difficulty
I tried to sort these challenges from easiest to hardest. You should start with the first one, and progress through them in a linear order.
You probably won't be able to solve some of the harder challenges. This is true even if you've gone through 100% of the course materials. The last couple of challenges are seriously tricky, and require advanced knowledge that goes beyond what we learn in this course.
It's about the journey, not the destination. I intentionally included some problems that you probably won't be able to solve, because I want you to get some practice being in that situation. Remember, it's possible to fail the challenge, but still pass the interview. It's much more important to demonstrate your problem-solving skills than to actually solve the problem.
Getting stuck
As you go through the challenges, the odds are pretty good that you'll get stuck at some point, where you just won't know what to do next.
There are a few things you can do in this situation:
- Check the hints. Most of the challenges have a few hints below the playground.
- Consult the course. Some of the challenges are similar to some of the exercises in the course. It may help to review the core curriculum materials.
- You can break the rules! In technical interviews, there are often arbitrary rules, things like “No googling allowed” or “Don't install any third-party dependencies”. I've added custom rules to each challenge, to help prepare you for this kind of thing, but they aren't set in stone. If you really can't progress any further, feel free to google things, install dependencies, ask ChatGPT, whatever.
This might seem like it goes against the spirit of these challenges, but actually, this sort of thing happens all the time in technical interviews. For example, if you get stuck, your interviewer will often drop hints to help you get unstuck.
Now, even with these extra bits of support, you still probably won't be able to solve some of the harder challenges. That's OK! Remember, some of these challenges are explicitly designed to be too challenging to pass, unless you've been working with React professionally for years.
Time limit
Most technical interviews have a time limit, anywhere from 20 to 90 minutes.
For these challenges, I would say that 60 minutes is a good upper threshold for how long you should spend. You don't have to stick to that time limit if you don't want to though.
Alright, that's all of the housekeeping out of the way. Onto the challenges!